package cn.icanci.ladybird.service.util;

import java.util.List;
import java.util.Map;

/**
 * @author: icanci
 * @date: Created in 2020/10/20 10:23
 * @classAction: 操作搜索引擎的service
 */
public interface ElasticSearchService {
    /**
     * 解析数据放到 ES 索引中
     *
     * @return 返回解析的数据
     * @throws Exception 抛出异常
     */
    boolean parseContent() throws Exception;

    /**
     * 获取这些数据实现搜索功能
     *
     * @param keyword  关键字
     * @param pageNo   第几页
     * @param pageSize 一页多少个
     * @return 返回结果集合
     * @throws Exception 抛出异常
     */
    List<Map<String, Object>> searchPage(String keyword, int pageNo, int pageSize) throws Exception;

    /**
     * 获取这些数据实现搜索高亮功能
     *
     * @param keyword  关键字
     * @param pageNo   第几页
     * @param pageSize 一页多少个
     * @return 返回结果集合
     * @throws Exception 抛出异常
     */
    List<Map<String, Object>> searchPageHigh(String keyword, int pageNo, int pageSize) throws Exception;
}
